﻿@{
    ViewBag.Title = "Administrar Personas";
}

<br />
@Html.Partial("_PersonFilterPartial")
<div id="PersonTable"></div>
@Html.Partial("_InscribirPartial")

@section Scripts {
    <script type="text/javascript" src="~/Scripts/jfunciones-inscribir.js"></script>
    <script type="text/javascript" src="~/Scripts/jfunciones-participante.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#PersonTable').jtable({
                title: '@ViewBag.Title',
                paging: true,
                pageSize: 25,
                sorting: true,
                multiSorting: true,
                defaultSorting: 'nombres ASC',
                //openChildAsAccordion: true,
                actions: {
                   listAction: '@Url.Action("PersonList", "Participante")',
                   deleteAction: '@Url.Action("DeletePerson", "Participante")',
                   updateAction: '@Url.Action("UpdatePerson", "Participante")',
                   createAction: '@Url.Action("CreatePerson", "Participante")'
                },
                toolbar: {
                    items: [{
                        tooltip: 'Exportar a Excel',
                        icon: GetAppURL() + '/Content/images/excel.png',
                        text: 'Exportar a Excel',
                        click: function () {
                            PersonExportExcel('@Url.Action("PersonExportExcel", "Participante")?');
                        }
                    }]
                },
                fields: {
                    idParticipante: {
                        key: true,
                        create: false,
                        edit: false,
                        list: false
                    },
                    //CHILD TABLE DEFINITION FOR "DOCUMENTOS DE IDENTIFICACION"
                    documentos: {
                        title: '',
                        width: '2%',
                        sorting: false,
                        edit: false,
                        create: false,
                        display: function (personData) {
                            var $img = $('<img src="' + GetAppURL() + '/Content/images/ID.png" title="Agregar documentos de ID" />');
                            //Abrir child table al hacer click
                            $img.click(function () {
                                $('#PersonTable').jtable('openChildTable',
                                        $img.closest('tr'),
                                        {
                                            title: personData.record.nombres + ' - Documentos de ID',
                                            actions: {
                                               listAction: '@Url.Action("DocIDList", "Participante")?idParticipante=' + personData.record.idParticipante,
                                               deleteAction: '@Url.Action("DeleteDocID", "Participante")',
                                               updateAction: '@Url.Action("UpdateDocID", "Participante")',
                                               createAction: '@Url.Action("CreateDocID", "Participante")'
                                           },
                                           fields: {
                                               idParticipante: {
                                                   type: 'hidden',
                                                   defaultValue: personData.record.idParticipante
                                               },
                                               idDocumentoXParticipante: {
                                                   key: true,
                                                   create: false,
                                                   edit: false,
                                                   list: false
                                               },
                                               idTipoDocumentoID: {
                                                   title: 'Tipo Documento',
                                                   width: '30%',
                                                   options: '@Url.Action("GetTipoDocumentoOptions", "Participante")'
                                               },
                                               noDocumento: {
                                                   title: 'Numero Documento',
                                                   width: '30%',
                                                   inputClass: 'validate[required,maxSize[45]]'
                                               }
                                           },
                                           formSubmitting: function (event, data) {
                                               return data.form.validationEngine('validate');
                                           },
                                           formClosed: function (event, data) {
                                               data.form.validationEngine('hide');
                                               data.form.validationEngine('detach');
                                           }
                                       }, function (data) { //opened handler
                                           data.childTable.jtable('load');
                                       });
                           });
                           return $img;
                       }
                   },
                   inscribir: {
                       title: '',
                       width: '2%',
                       sorting: false,
                       edit: false,
                       create: false,
                       display: function (data) {
                           var $img = $('<img src="' + GetAppURL() + '/Content/images/Inscribir.png" title="Inscribir participante" />');
                           //Abrir dialog de inscribir al hacer click
                           $img.click(function () {
                               OpenInscribir(data.record.edad, data.record.idParticipante, parseInt('@SWGeneracionE.Constantes.MAYORIA_EDAD'));
                           });
                           if (data.record.inscrito) $img.hide();
                           return $img;
                       }
                   },
                   actualizar: {
                        title: '',
                        width: '2%',
                        sorting: false,
                        edit: false,
                        create: false,
                        display: function (data) {
                            var $img = $('<img src="' + GetAppURL() + '/Content/images/modificar.png" title="Modificar Inscripción" />');
                            //Abrir dialog de inscribir al hacer click
                            $img.click(function () {
                                ActualizarInscripcion(data.record.edad, data.record.idParticipante, parseInt('@SWGeneracionE.Constantes.MAYORIA_EDAD'));
                           });
                           if (!data.record.inscrito) $img.hide();
                           return $img;
                       }
                   },
                   estadocuenta: {
                        title: '',
                        width: '2%',
                        sorting: false,
                        edit: false,
                        create: false,
                        display: function (data) {
                            var $img = $('<img src="' + GetAppURL() + '/Content/images/estadocuenta.png" title="Estado de Cuenta" />');
                            //Abrir dialog de inscribir al hacer click
                            $img.click(function () {
                                VerEstadoCuenta(data.record.idParticipante);
                            });
                            if (!data.record.inscrito) $img.hide();
                            return $img;
                        }
                    },
                   nombres: {
                       title: 'Nombres',
                       width: '15%',
                       inputClass: 'validate[required,maxSize[45]]'
                   },
                   apellidos: {
                       title: 'Apellidos',
                       width: '15%',
                       inputClass: 'validate[required,maxSize[45]]'
                   },
                   fechaNacimiento: {
                       title: 'Fecha Nacimiento',
                       type: 'date',
                       displayFormat: 'dd-mm-yy',
                       list: false,
                       inputClass: 'validate[required,custom[date]]'
                   },
                   sexo: {
                       title: 'Género',
                       width: '4%',
                       options: '@Url.Action("GetSexoOptions", "Participante")'
                   },
                   edad: {
                       title: 'Edad',
                       width: '4%',
                       create: false,
                       edit: false
                   },
                   estadoCivil: {
                       title: 'Estado Civil',
                       options: '@Url.Action("GetEstadoCivilOptions", "Participante")',
                       list: false
                   },
                   idPais: {
                       title: 'Pais',
                       width: '8%',
                       options: '@Url.Action("GetPaisOptions", "Catalogo")'
                   },
                   idIglesia: {
                       title: 'Iglesia',
                       width: '10%',
                       dependsOn: 'idPais',
                       options: function (data) {
                           var sUrl;
                           sUrl = '@Url.Action("GetIglesiaOptions", "Catalogo", new { idPais = "rep__Pais" })';
                           sUrl = sUrl.replace("rep__Pais", data.dependedValues.idPais);
                           return sUrl;
                       }
                   },
                   telefonoCasa: {
                       title: 'Teléfono Casa',
                       list: false,
                       inputClass: 'validate[custom[integer],maxSize[20]]'
                   },
                   telefonoMovil: {
                       title: 'Celular',
                       list: false,
                       inputClass: 'validate[required,custom[integer],maxSize[20]]'
                   },
                   telefonoTrabajo: {
                       title: 'Teléfono Trabajo',
                       list: false,
                       inputClass: 'validate[custom[integer],maxSize[20]]'
                   },
                   correoElectronico: {
                       title: 'E-mail',
                       list: false,
                       inputClass: 'validate[required,custom[email],maxSize[100]]'
                   },
                   direccionCasa: {
                       title: 'Dirección Casa',
                       type: 'textarea',
                       list: false,
                       inputClass: 'validate[maxSize[100]]'
                   },
                   direccionTrabajo: {
                       title: 'Dirección Trabajo',
                       type: 'textarea',
                       list: false,
                       inputClass: 'validate[maxSize[100]]'
                   },
                   tieneDocs: {
                       title: 'Docs.',
                       width: '5%',
                       create: false,
                       edit: false
                   },
                   estado: {
                       title: 'Estado',
                       width: '5%',
                       create: false,
                       edit: false,
                       listClass: 'bold',
                       options: '@Url.Action("GetEstadoParticipanteOptions", "Participante")'
                   },
                   fechaInscripcion: {
                       title: 'F. Inscripcion',
                       width: '8%',
                       create: false,
                       edit: false,
                       type: 'date',
                       displayFormat: 'dd-mm-yy'
                   },
                   codigo: {
                       title: 'Codigo',
                       width: '5%',
                       create: false,
                       edit: false
                   },
				   habitacionge: {
                        title: 'Hab. GE',
                        width: '4%',
						create: false,
						edit: false
                    },
					habitacionhotel: {
                        title: 'Hab. Hotel',
                        width: '4%',
						create: false,
						edit: false
                    }
               },
                formCreated: function (event, data) {
                    data.form.validationEngine();
                },
                formSubmitting: function (event, data) {
                    return data.form.validationEngine('validate');
                },
                formClosed: function (event, data) {
                    data.form.validationEngine('hide');
                    data.form.validationEngine('detach');
                }
            });

            LoadInscribir();
            LoadParticipante(true, '#ui-dialog-tutor', 'inscribir-tutor', false);
            LoadFilters('#PersonTable', false, '@SWGeneracionE.Constantes.TIPOTRANSPORTE_BUS', false);
        });
    </script>
}